package com.project.mapper;

import com.github.pagehelper.PageInfo;
import com.project.bean.ProductBean;
import org.apache.ibatis.annotations.*;

import java.time.LocalDate;
import java.util.List;

/**
 * 商品mapper接口
 */
public interface IProductMapper {
    /**
     * 添加商品
     * @param product 商品对象
     */
    @Insert("INSERT INTO t_product(p_name,p_price,p_createDate) values(#{name},#{price},#{createDate})")
    public void add(ProductBean product);

    /**
     * 按编号删除商品
     * @param id 商品ID
     */
    @Delete("delete from t_product where pk_id=#{id}")
    public void del(int id);

    /**
     * 按ID 修改商品价格
     * @param id 商品ID
     * @param price 新价格
     */
    @Update("update t_product set p_price=#{price} where pk_id=#{id}")
    public void update(@Param("id") int id ,@Param("price") int price);

    /**
     * 按ID查询商品
     * @param id 商品ID
     * @return 商品对象
     */
    @Select("select * from t_product where pk_id=#{id}")
    @ResultMap("productMap")
    public ProductBean findById(int id);

    /**
     * 动态条件查询商品
     * @param name 商品名
     * @param startDate 生产起始日期
     * @param endDate 生产结束日期
     * @return 商品集合
     */
    public List<ProductBean> findByItem(@Param("name") String name,
             @Param("startDate")  LocalDate startDate,@Param("endDate") LocalDate endDate);
}
